EIFFEL: Object-Oriented Design for Software Engineering

نویسندگان

  • Bertrand Meyer
  • Jean-Marc Nerson
  • Masanobu Matsuo
چکیده

Eiffel is an object-oriented language and environment combining the advances in reusable, flexible programming brought by object-oriented techniques with the concerns introduced by modem software engineering, particularly correcmess, reliability and efficiency. As a language, Eiffel offers an extensive combination of facilities: multiple and repeated inheritance, polymorphism and dynamic binding, deferred features, export controls, generically parameterized classes, assertions and invariants expressing correcmess arguments, full static type checking. The implementation, currently available on Unix (System V and BSD), provides automatic configuration management, efficient resolution of dynamic binding (in constant time), and a set of tools for automatic documentation and debugging. It is complemented by a library of carefully designed software components. Eiffel is designed as a portable and open system. Eiffel classes may be combined with code written in other languages, and portable C packages may be produced from Eiffel text. Care has been taken, however, to preserve the integrity of the language; the interfaces between Eiffel classes and external code are strictly delimited. Eiffel is not an experimental tool but a production system which has been installed at a number of user sites in Europe, Japan and North America, both in companies and universities, and has been applied to a number of significant developments since it was made commercially available in September of 1986. Beyond the language and environment aspects, Eiffel promotes a method of software construction by combination of reusable and flexible modules. The design of Eiffel was an attempt to provide quality-conscious software developers-including ourselves, since Eiffel was an internal tool before it was made publicly available-with a environment to produce high-quality software. The software qualities factors that were particularly sought in this endeavor were correctness, reliability, reusability, extendibility and reusability. In oar opinion, the principles of object-oriented design provide the best known techniques for attaining these qualities. The definition of object-oriented design which serves as the basis for this discussion is the following: object-orientexl design is the construction of software systems as structured collections of abstract data type implementations. Eiffel classes are abstract data type implementations not only in principle, but more concretely through the use of explicit assertions (preconditions, postconditions, invariants) which reflect the axioms of the abstract data type specifications. The word structured, as used in the definition, refers to the mechanisms used for combining modules. The

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Seamless Development with the Eiffel Method

Traditional software engineering techniques have introduced damaging gaps between successive activities of software development. The Eiffel method, with its emphasis on full lifecycle coverage and its reliance on the central technique of Design by Contract as a unifying theme for all software activities, provides an integrated approach to activities of analysis, design, implementation and maint...

متن کامل

Reuse-Based Programming with the Eiffel Libraries

James McKim is a professor of computer science at the Hartford Graduate Center and has more than 25 years experience teaching mathematics and computer science. He has authored, coauthored and reviewed a number of textbooks and articles in both areas. His research interests include object-oriented programming and design in general, and class interface specification in particular. He has been tea...

متن کامل

Object oriented programming in eiffel pdf

There is little that is new in object-oriented software development. Of objectorientation, and concludes with an introduction to the Eiffel programming.An exploration of how object-oriented design, as implemented in the Eiffel. Tructured programming and objectoriented design, with stops whenever we find a.Eiffel is a pure object-oriented programming language designed with the explicit intent to.

متن کامل

III. The Automatic Reorganization of Object Oriented Hierarchies A Case Study

Software components developed with an object-oriented language require frequent revisions before they become stable, reusable classes. Class evolution is a complex task, and appropriate support in the form of tools and methodologies is required to help software engineers redesign object-oriented libraries. Recently, several approaches have been proposed to restructure inheritance hierarchies, t...

متن کامل

Object-Oriented Software Engineering with Eiffel

Downloading the book in this website lists can give you more advantages. It will show you the best book collections and completed collections. So many books can be found in this website. So, this is not only this object oriented software engineering with eiffel. However, this book is referred to read because it is an inspiring book to give you more chance to get experiences and also thoughts. T...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1987